From 1569952d0e97448edffdf60266272ff4a4a08bd8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 4 Aug 2014 14:32:40 +0200 Subject: [PATCH] GtkSwitch: Update handle_x in size-allocate Since we are storing positions here that depend on the allocation, we need to update them in size-allocate. This fixes incorrect positioning of the handle if the switch is active initially. https://bugzilla.gnome.org/show_bug.cgi?id=734213 --- gtk/gtkswitch.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index b1758061d0..28962d2a9b 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -474,6 +474,11 @@ gtk_switch_size_allocate (GtkWidget *widget, allocation->width, allocation->height); + if (priv->is_active) + priv->handle_x = gtk_widget_get_allocated_width (widget) / 2; + else + priv->handle_x = 0; + _gtk_widget_set_simple_clip (widget); } -- 2.30.2